Systems and method to trigger vehicle events based on contextual information

ABSTRACT

This disclosure relates to a system and method for detecting vehicle events. Some or all of the system may be installed in a vehicle, operate at the vehicle, and/or be otherwise coupled with a vehicle. The system includes one or more sensors configured to generate output signals conveying information related to the vehicle. The system receives contextual information from a source external to the vehicle. The system detects a vehicle event based on the information conveyed by the output signals from the sensors and the received contextual information.

FIELD

The systems and methods disclosed herein are related to detection ofvehicle events, and, in particular, detection of vehicle events that arebased, at least in part, on current environmental conditions near and/oraround a vehicle.

BACKGROUND

Systems configured to record, store, and transmit video, audio, and/orsensor data associated with a vehicle, e.g. in response to an accidentinvolving the vehicle are known. Typically, such systems detect anaccident based on data from a single sensor such as an accelerometermounted on the vehicle. Video from the accident may usually be analyzedby a user at a later time after the accident. Vehicle Engine ControlComponent (ECM) systems are known. Such systems interface/interoperatewith external computers (e.g., at an automobile mechanic) where the datastored by the ECM system is analyzed.

SUMMARY

One aspect of the disclosure relates to a system configured to detectvehicle events. The system may be coupled and/or otherwise related to avehicle. Some or all of the system may be installed in the vehicleand/or be otherwise coupled with the vehicle. In some implementations,the system may include one or more sensors, one or more servers, one ormore physical processors, electronic storage, one or more externalproviders, and/or other components. The one or more sensors may beconfigured to generate output signals conveying information related tothe vehicle and/or one or more current operating conditions of thevehicle. In some implementations, the system may detect vehicle eventsbased on a comparison of the information conveyed by the output signalsfrom the sensors to predetermined (variable and/or fixed) values,threshold, functions, and/or other information. Advantageously, thesystem may identify vehicle events in real-time or near real-time duringoperation of the vehicle. As used herein, the term “processor” is usedinterchangeably with the term “physical processor.”

The one or more sensors may be configured to generate output signalsconveying information related to the operation and/or one or moreoperating conditions of the vehicle. Information related to theoperation of the vehicle may include feedback information from one ormore of the mechanical systems of the vehicle, and/or other information.In some implementations, at least one of the sensors may be a vehiclesystem sensor included in an engine control module (ECM) system or anelectronic control module (ECM) system of the vehicle. In someimplementations, one or more sensors may be carried by the vehicle.

The one or more servers may include one or more processors configured toexecute one or more computer program components. The computer programcomponents may include one or more of an operation component, a contextcomponent, a detection component, a record component, a notificationcomponent, a location component, and/or other components.

The operation component may be configured to determine current operatingconditions and/or vehicle parameters of vehicles. The operationcomponent may determine current operating conditions based on theinformation conveyed by the output signals from the sensors and/or otherinformation. The one or more current operating conditions may be relatedto the vehicle, the operation of the vehicle, physical characteristicsof the vehicle, and/or other information. In some implementations, theoperation component may be configured to determine one or more of thecurrent operating conditions one or more times in an ongoing mannerduring operation of the vehicle.

The context component may be configured to obtain, receive, and/ordetermine contextual information related to environmental conditionsnear and/or around vehicles. Environmental conditions may be related toweather conditions, road surface conditions, traffic conditions,visibility, and/or other environmental conditions. In someimplementations, one or more environmental conditions may be receivedfrom one or more sources external to the vehicle. For example, a sourceexternal to the vehicle may include a remote server and/or an externalprovider.

The detection component may be configured to detect vehicle events.Detection of vehicle events may be based on one or more currentoperating conditions of the vehicle. In some implementations, detectionmay be further based on one or more types of contextual information. Insome implementations, detection may be accomplished and/or performed atthe vehicle, e.g. by a physical processor that is carried by thevehicle.

The record component may be configured to record, store, and/or transmitinformation, including but not limited to information related to vehicleevents. In some implementations, information related to vehicle eventsmay be used to create vehicle event records. Vehicle event records mayinclude video information, audio information, data from an ECM system,metadata, information based on sensor-generated output, and/or otherinformation.

Vehicle event records may be stored locally in a vehicle and/ortransmitted from a vehicle to a system, server, and/or service that isexternal to the vehicle, including but not limited to a remote serverand/or an external provider. In some implementations, a system, server,and/or service that is external to the vehicle may query and/or requestinformation from a particular vehicle. The record component may beconfigured to respond to a query or request by transmitting informationas queried and/or requested. In some implementations, the recordcomponent may be configured to facilitate communication of informationbetween vehicles, remote servers, external providers, and/or othersystems, servers, and/or services external to vehicles. Communicationmay be in real-time or near real-time. Communication may be wireless.

The notification component may be configured to generate and/ordetermine notifications related to vehicle events. In someimplementations, notifications may be intended for drivers of vehicles.For example, the notification component may be configured to providenotifications to drivers, including but not limited to warnings orrequests (for example to reduce speed). In some implementations,notifications may be transmitted from a vehicle to a system, server,and/or service that is external to the vehicle, including but notlimited to a remote server and/or an external provider.

The location component may be configured to obtain and/or determineinformation related to the locations of vehicles and/or other locations(which may be referred to as location information). In someimplementations, the location component may be configured to receiveinformation related to the current location of a vehicle. By way ofnon-limiting example, location information may include globalpositioning system (GPS) information.

As used herein, any association (or relation, or reflection, orindication, or correspondency) involving vehicles, sensors, vehicleevents, operating conditions, parameters, thresholds, functions,notifications, and/or another entity or object that interacts with anypart of the system and/or plays a part in the operation of the system,may be a one-to-one association, a one-to-many association, amany-to-one association, and/or a many-to-many association or N-to-Massociation (note that N and M may be different numbers greater than 1).

As used herein, the term “obtain” (and derivatives thereof) may includeactive and/or passive retrieval, determination, derivation, transfer,upload, download, submission, and/or exchange of information, and/or anycombination thereof. As used herein, the term “effectuate” (andderivatives thereof) may include active and/or passive causation of anyeffect. As used herein, the term “determine” (and derivatives thereof)may include measure, calculate, compute, estimate, approximate,generate, and/or otherwise derive, and/or any combination thereof.

These and other objects, features, and characteristics of the servers,systems, and/or methods disclosed herein, as well as the methods ofoperation and functions of the related elements of structure and thecombination of parts and economies of manufacture, will become moreapparent upon consideration of the following description and theappended claims with reference to the accompanying drawings, all ofwhich form a part of this disclosure, wherein like reference numeralsdesignate corresponding parts in the various figures. It is to beexpressly understood, however, that the drawings are for the purpose ofillustration and description only and are not intended as a definitionof the limits of the invention. As used in the specification and in theclaims, the singular form of “a”, “an”, and “the” include pluralreferents unless the context clearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system configured to detect vehicle events, inaccordance with one or more embodiments.

FIG. 2 illustrates a method to detect vehicle events, in accordance withone or more embodiments.

FIGS. 3-4-5 illustrate exemplary dashboard views for a vehicle thatincludes a system configured to detect vehicle events in accordance withone or more embodiments.

DETAILED DESCRIPTION

FIG. 1 illustrates a system 10 configured to detect vehicle events of avehicle 12. Some or all of system 10 may be installed in vehicle 12,carried by vehicle 12, and/or be otherwise coupled with and/or relatedto vehicle 12. In some implementations, system 10 may include one ormore sensors 142, one or more servers 11, one or more physicalprocessors 110, electronic storage 60, a network 13, one or moreexternal providers 18, and/or other components. One or more sensors 142may be configured to generate output signals. The output signals mayconvey information related to vehicle 12 and/or one or more currentoperating conditions of vehicle 12. In some implementations, one or moresensors 142 may be carried by vehicle 12.

Information related to current operating conditions of the vehicle mayinclude feedback information from one or more of the mechanical systemsof vehicle 12, and/or other information. The mechanical systems ofvehicle 12 may include, for example, the engine, the drive train, thelighting systems (e.g., headlights, brake lights), the braking system,the transmission, fuel delivery systems, and/or other mechanicalsystems. The mechanical systems of vehicle 12 may include one or moremechanical sensors, electronic sensors, and/or other sensors thatgenerate the output signals (e.g., seat belt sensors, tire pressuresensors, etc.). In some implementations, at least one of sensors 142 maybe a vehicle system sensor included in an ECM system of vehicle 12.

In some implementations, one or more sensors 142 may include a videocamera, an image sensor, and/or a microphone. Based on an analysis ofimages and/or sounds captured, system 10 may determine, usingalgorithms, that vehicle 12 is moving forward, is in reverse, hasmaneuvered outside of its lane of traffic, is making a turn, and/orother maneuvers. For example, by way of non-limiting example, drivingmaneuvers may include swerving, a U-turn, freewheeling, over-revving,lane-departure, short following distance, imminent collision, unsafeturning that approaches rollover and/or vehicle stability limits, hardbraking, rapid acceleration, idling, driving outside a geo-fenceboundary, crossing double-yellow lines, passing on single-lane roads, acertain number of lane changes within a certain amount of time ordistance, fast lane change, cutting off other vehicles duringlane-change, speeding, running a red light, running a stop sign, and/orother driving maneuvers.

In some implementations, information related to current operatingconditions of vehicle 12 may include information related to theenvironment in and/or around vehicle 12. The vehicle environment mayinclude spaces in and around an interior and an exterior of vehicle 12.The information may include information related to movement of vehicle12, an orientation of vehicle 12, a geographic position of vehicle 12, aspatial position of vehicle 12 relative to other objects, a tilt angleof vehicle 12, an inclination/declination angle of vehicle 12, and/orother information. In some implementations, the output signals conveyinginformation may be generated via non-standard aftermarket sensorsinstalled in vehicle 12. Non-standard aftermarket sensors may include,for example, a video camera, a microphone, an accelerometer, agyroscope, a geolocation sensor (e.g., a GPS device), a radar detector,a magnetometer, radar (e.g. for measuring distance of leading vehicle),and/or other sensors. In some implementations, one or more sensors 142may include multiple cameras positioned around vehicle 12 andsynchronized together to provide a 360 degree view of the inside ofvehicle 12 and/or a 360 degree view of the outside of vehicle 12.

Although sensors 142 are depicted in FIG. 1 as a single element, this isnot intended to be limiting. Sensors 142 may include one or more sensorslocated adjacent to and/or in communication with the various mechanicalsystems of vehicle 12, in one or more positions (e.g., at or near thefront of vehicle 12, at or near the back of vehicle 12, etc.) toaccurately acquire information representing the vehicle environment(e.g. visual information, spatial information, orientation information),and/or in other locations. For example, in some implementations, system10 may be configured such that a first sensor is located near or incommunication with a rotating tire of vehicle 12, and a second sensorlocated on top of vehicle 12 is in communication with a geolocationsatellite. In some implementations, sensors 142 may be configured togenerate output signals continuously during operation of vehicle 12.

As shown in FIG. 1, server 11 may include one or more processors 110configured to execute one or more computer program components. Thecomputer program components may comprise one or more of an operationcomponent 21, a context component 22, a detection component 23, a recordcomponent 24, a notification component 25, a location component 26,and/or other components.

Operation component 21 may be configured to determine current operatingconditions and/or vehicle parameters of vehicles, e.g. vehicle 12.Operation component 21 may determine current operating conditions basedon the information conveyed by the output signals from sensors 142and/or other information. The one or more current operating conditionsmay be related to vehicle 12, the operation of vehicle 12, physicalcharacteristics of vehicle 12, and/or other information. In someimplementations, operation component 21 may be configured to determineone or more of the current operating conditions one or more times in anongoing manner during operation of vehicle 12.

In some implementations, operating conditions may include vehicleparameters. For example, vehicle parameters may be related to one ormore of an acceleration, a direction of travel, a turn diameter, avehicle speed, an engine speed (e.g. RPM), a duration of time, a closingdistance, a lane departure from an intended travelling lane of thevehicle, a following distance, physical characteristics of vehicle 12(such as mass and/or number of axles, for example), a tilt angle ofvehicle 12, an inclination/declination angle of vehicle 12, and/or otherparameters.

The physical characteristics of vehicle 12 may be physical features ofvehicle 12 set during manufacture of vehicle 12, during loading ofvehicle 12, and/or at other times. For example, the one or more vehicleparameters may include a vehicle type (e.g., a car, a bus, a semi-truck,a tanker truck), a vehicle size (e.g., length), a vehicle weight (e.g.,including cargo and/or without cargo), a number of gears, a number ofaxles, a type of load carried by vehicle 12 (e.g., food items,livestock, construction materials, hazardous materials, an oversizedload, a liquid), vehicle trailer type, trailer length, trailer weight,trailer height, a number of axles, and/or other physical features. Insome implementations, one or more vehicle parameters may be based on(and/or interpreted differently in the presence of) systems that avehicle is equipped with, including but not limited to a stabilitysystem, a forward collision warning system, automatic brake system,and/or other systems that a vehicle may be equipped with. For example,the presence or absence of a particular system, e.g. a forward collisionwarning system, may modify the sensitivity of the process and/ormechanism by which vehicle events are detected.

In some implementations, operation component 21 may be configured todetermine one or more vehicle parameters based on the output signalsfrom at least two different sensors. For example, operation component 21may determine one or more of the vehicle parameters based on outputsignals from a sensor 142 related to the ECM system and an externalaftermarket added sensor 142. In some implementations, a determinationof one or more of the vehicle parameters based on output signals from atleast two different sensors 142 may be more accurate and/or precise thana determination based on the output signals from only one sensor 142.For example, on an icy surface, output signals from an accelerometer maynot convey that a driver of vehicle 12 is applying the brakes of vehicle12. However, a sensor in communication with the braking system ofvehicle 12 would convey that the driver is applying the brakes. System10 may determine a value of a braking parameter based on the brakingsensor information even though the output signals from the accelerometermay not convey that the driver is applying the brakes.

Operation component 21 may be configured to determine vehicle parametersthat are not directly measurable by any of the available sensors. Forexample, an inclinometer may not be available to measure the road grade,but vehicle speed data as measured by a GPS system and/or by a wheelsensor ECM may be combined with accelerometer data, engine load, and/orother information to determine the road grade. If an accelerometermeasures a force that is consistent with braking, but the vehicle speedremains constant, the parameter component can determine that themeasured force is a component of the gravity vector that is acting alongthe longitudinal axis of the vehicle. By using trigonometry, themagnitude of the gravity vector component can be used to determine theroad grade (e.g., pitch angle of the vehicle in respect to thehorizontal plane).

In some implementations, one or more of the vehicle parameters may bedetermined one or more times in an ongoing manner during operation ofvehicle 12. In some implementations, one or more of the vehicleparameters may be determined at regular time intervals during operationof vehicle 12. The timing of the vehicle parameter determinations (e.g.,in an ongoing manner, at regular time intervals, etc.) may be programmedat manufacture, obtained responsive to user entry and/or selection oftiming information via a user interface and/or a remote computingdevice, and/or may be determined in other ways. The time intervals ofparameter determination may be significantly less (e.g. more frequent)than the time intervals at which various sensor measurements areavailable. In such cases, system 10 may estimate vehicle parameters inbetween the actual measurements of the same vehicle parameters by therespective sensors, to the extent that the vehicle parameters aremeasurable. This may be established by means of a physical model thatdescribes the behavior of various vehicle parameters and theirinterdependency. For example, a vehicle speed parameter may be estimatedat a rate of 20 times per second, although the underlying speedmeasurements are much less frequent (e.g., four times per second for ECMspeed, one time per second for GPS speed). This may be accomplished byintegrating vehicle acceleration, as measured by the accelerometersensor where the measurements are available 1000 times per second,across time to determine change in speed that is accumulated over timeagain for the most recent vehicle speed measurement. The benefit ofthese more frequent estimates of vehicle parameters are many and theyinclude improved operation of other components of system 10, reducedcomplexity of downstream logic and system design (e.g., all vehicleparameters are updated at the same interval, rather than being updatingirregularly and at the interval of each respective sensor), and morepleasing (e.g., “smooth”) presentation of vehicle event recorder data inan event player apparatus.

In some implementations, system 10 may be configured to detect specificdriving maneuvers based on one or more of a vehicle speed, an engineload, a throttle level, vehicle direction, a gravitational force, and/orother parameters being sustained at or above threshold levels forpre-determined amounts of time. In some implementations, an accelerationand/or force threshold may be scaled based on a length of time that anacceleration and/or force are maintained, and/or the particular speedthe vehicle is travelling. System 10 may be configured such that forcemaintained over a period of time at a particular vehicle speed maydecrease a threshold force the longer that the force is maintained.System 10 may be configured such that, combined with engine load data,throttle data may be used to determine a risky event, a fuel wastingevent, and/or other events.

Context component 22 may be configured to obtain, receive, and/ordetermine contextual information related to environmental conditionsnear and/or around vehicles. Environmental conditions may be related toweather conditions, road surface conditions, traffic conditions,visibility, and/or other environmental conditions. In someimplementations, environmental conditions may be related to proximity ofcertain objects that are relevant to driving, including but not limitedto traffic signs, railroad crossings, time of day, ambient lightconditions, altitude, and/or other objects relevant to driving. In someimplementations, one or more environmental conditions may be receivedfrom one or more sources external to vehicle 12. For example, a sourceexternal to vehicle 12 may include a remote server and/or an externalprovider 18. In some implementations, contextual information may includea likelihood of traffic congestion near a particular vehicle, and/ornear a particular location. In some implementations, contextualinformation may include a likelihood of the road surface near aparticular vehicle and/or a particular location being icy, wet, and/orotherwise potentially having an effect of braking and steering. In someimplementations, environmental conditions may include informationrelated to a particular driver and/or a particular trip. For example,with every passing hour that a particular driver drives his vehicleduring a particular trip, the likelihood of drowsiness may increase. Insome implementations, the function between trip duration or distance andlikelihood of drowsiness may be driver-specific.

In some implementations, contextual information may be received bysystem 10 through network 13, e.g. the internet. Network 13 may includeprivate networks, public networks, and/or combinations thereof. Forexample, contextual information related to weather conditions may bereceived from a particular external provider 18 that provides weatherinformation. For example, contextual information related to road surfaceconditions may be received from a particular external provider 18 thatprovides road condition information. For example, contextual informationrelated to traffic conditions may be received from a particular externalprovider 18 that provides traffic information.

Detection component 23 may be configured to detect vehicle events.Detection of vehicle events may be based on one or more currentoperating conditions of vehicle 12. In some implementations, detectionmay be further based on one or more types of contextual information. Insome implementations, detection may be accomplished and/or performed atvehicle 12, e.g. by processor 110 that is carried by vehicle 12. Vehicleevents may include speeding, unsafe driving speed, collisions,near-collisions, and/or other events. In some implementations, vehicleevents may include the distance between two vehicles being dangerouslysmall, which may for example indicate an increased likelihood of acollision. In some implementations, vehicle events may include one ormore driving maneuvers.

In some implementations, a value of a current operating condition thateffectuates detection of a vehicle event may vary as a function of thecontextual information. For example, a speed of 50 mph (in a particulargeographical location) may not effectuate detection of a vehicle eventwhen the road surface is dry and/or when traffic is light, but the samespeed in the same geographical location may effectuate detection of avehicle event responsive to contextual information indicating that theroad surface is wet and/or icy (and/or may be wet and/or icy), orresponsive to contextual information that traffic is heavy (and/or maybe heavy). In this example, the contextual information may have aneffect of the detection of vehicle events. In some implementations,contextual information may modify the sensitivity of the process and/ormechanism by which vehicle events are detected.

For example, a particular vehicle 12 operates at a particular operatingcondition (as determined based on output signals generated by aparticular sensor 142). In light of a particular current environmentalcondition at a first moment (e.g. sunny weather and/or light traffic),the particular operating condition may provide an insufficient impetusto determine and/or detect a particular vehicle event (e.g. “unsafedriving speed”). Subsequently, at a second moment after the firstmoment, a different environmental condition (e.g. rain, snow, and/orheavy traffic) becomes operative (e.g., the different environmentalcondition may be received at particular vehicle 12 as contextualinformation). In light of the different environmental condition, thecombination of the different environmental condition and the particularoperating condition may provide a sufficient impetus to determine and/ordetect a particular vehicle event.

By way of non-limiting example, FIG. 3 illustrates a dashboard view 30for a vehicle that includes a system configured to detect vehicleevents, similar to system 10 (not shown in FIG. 3). Dashboard view 30illustrates the view of a driver of a vehicle, including a dashboard 33,a fuel indicator 36, a steering wheel 34, a road 31, and a userinterface 35. User interface 35 may be configured to indicate thepresence or absence of vehicle events, including but not limited to avehicle event referred to as “unsafe driving conditions.” As illustratedin dashboard view 30, the absence of unsafe driving conditions may beindicated by an indicator labeled “safe driving conditions.” Userinterface 35 may indicate one or more current operating conditions (e.g.speed) as well as one or more current environmental conditions (e.g.light or heavy traffic, dry or wet road surface, etc.). The one or morecurrent environmental conditions may be related to and/or based oncontextual information received, e.g., from an external source ofcontextual information.

By way of non-limiting example, FIG. 4 illustrates a dashboard view 40for a vehicle that includes a system configured to detect vehicleevents, similar to system 10 (not shown in FIG. 4). Dashboard view 40illustrates the view of a driver of a vehicle, including a dashboard 33,a fuel indicator 36, a steering wheel 34, a road 31, and a userinterface 35, similar to dashboard view 30 in FIG. 3. Referring to FIG.4, user interface 35 may be configured to indicate the presence orabsence of vehicle events, including but not limited to a vehicle eventreferred to as “unsafe driving conditions.” As illustrated in dashboardview 40, the presence of unsafe driving conditions may be indicated byan indicator labeled “unsafe driving conditions.” User interface 35 mayindicate one or more current operating conditions (e.g. speed) as wellas one or more current environmental conditions (e.g. light or heavytraffic, dry or wet road surface, etc.). As illustrated in userinterface 35, current traffic conditions are characterized as heavy(this may for example be based on average driving speed on a particularsection of the road, and/or on other traffic-related information). Theone or more current environmental conditions may be related to and/orbased on contextual information received, e.g., from an external sourceof contextual information. The combination of one or more currentoperating conditions and one or more current environmental conditionsmay provide a sufficient impetus to determine and/or detect a particularvehicle event (e.g. “unsafe driving speed” or “unsafe drivingconditions”). This particular vehicle event may be notified to thedriver, e.g. through user interface 35 as shown in FIG. 4.

By way of non-limiting example, FIG. 5 illustrates a dashboard view 50for a vehicle that includes a system configured to detect vehicleevents, similar to system 10 (not shown in FIG. 5). Dashboard view 50illustrates the view of a driver of a vehicle, including a dashboard 33,a fuel indicator 36, a steering wheel 34, a road 31, and a userinterface 35, similar to dashboard view 30 in FIG. 3. Referring to FIG.5, user interface 35 may be configured to indicate the presence orabsence of vehicle events, including but not limited to a vehicle eventreferred to as “unsafe driving conditions.” As illustrated in dashboardview 50, the presence of unsafe driving conditions may be indicated byan indicator labeled “unsafe driving conditions.” User interface 35 mayindicate one or more current operating conditions (e.g. speed) as wellas one or more current environmental conditions (e.g. light or heavytraffic, dry or wet road surface, etc.). As illustrated in userinterface 35, current weather and/or road-surface conditions arecharacterized as wet (this may for example be based on weatherinformation for an area that includes a particular section of the road,and/or on other weather-related information). The one or more currentenvironmental conditions may be related to and/or based on contextualinformation received, e.g., from an external source of contextualinformation. The combination of one or more current operating conditionsand one or more current environmental conditions may provide asufficient impetus to determine and/or detect a particular vehicle event(e.g. “unsafe driving speed” or “unsafe driving conditions”). Thisparticular vehicle event may be notified to the driver, e.g. throughuser interface 35 as shown in FIG. 5.

In some implementations, detection of vehicle events may be based on oneor more comparisons of the values of current operating conditions withthreshold values. In some implementations, a particular threshold valuemay vary as a function of contextual information.

By way of non-limiting example, lateral forces of about −0.3 g (e.g.,swerve left) and/or about +0.3 g (e.g., swerve right) may be a basisused to detect a swerve. In some implementations, the −0.3 g and/or +0.3g criteria may be used at vehicle 12 speeds less than about 10 kph. The−0.3 g and/or +0.3 g criteria may be scaled as vehicle 12 increases inspeed. In some implementations, the −0.3 g and/or +0.3 g criteria may bescaled (e.g., reduced) by about 0.0045 g per kph of speed over 10 kph.To prevent too much sensitivity, system 10 may limit the lateral forcecriteria to about +/−0.12 g, regardless of the speed of vehicle 12, forexample. In some implementations, the criterion for the given period oftime between swerves may be about 3 seconds.

Record component 24 may be configured to record, store, and/or transmitinformation, including but not limited to information related to vehicleevents. In some implementations, information related to vehicle eventsmay be used to create vehicle event records. Vehicle event records mayinclude video information, audio information, data from an ECM system,metadata, information based on sensor-generated output, and/or otherinformation.

Vehicle event records may be stored locally in vehicle 12 and/ortransmitted from vehicle 12 to system 10, server 11, and/or service thatis external to the vehicle, including but not limited to a remote serverand/or external provider 18. In some implementations, system 10, server11, and/or service that is external to vehicle 12 may query and/orrequest information from a particular vehicle 12. Record component 24may be configured to respond to a query or request by transmittinginformation as queried and/or requested. In some implementations, recordcomponent 24 may be configured to facilitate communication ofinformation between vehicles, remote servers, external providers, and/orother systems, servers, and/or services external to vehicles.Communication may be in real-time or near real-time. Communication maybe wireless.

Notification component 25 may be configured to generate and/or determinenotifications related to vehicle events. In some implementations,notifications may be intended for drivers of vehicles. For example,notification component 25 may be configured to provide notifications todrivers, including but not limited to warnings or requests (for exampleto reduce speed). In some implementations, notifications may betransmitted from vehicle 12 to system 10, server 11, and/or service thatis external to vehicle 12, including but not limited to a remote serverand/or external provider 18. For example, a notification that acollision has occurred may be transmitted to a remote server and/orexternal provider 18. In some implementations, notifications may bestored locally, in electronic storage of a particular vehicle 12. Storednotifications may be retrieved later, e.g. after the particular vehicle12 has returned to fleet headquarters, or subsequent to the particularvehicle 12 entering a particular geographical area (e.g. within range ofwireless communication with a particular external provider 18).

Location component 26 may be configured to obtain and/or determineinformation related to the locations of vehicles and/or other locations(which may be referred to as location information). In someimplementations, location component 26 may be configured to receiveinformation related to the current location of vehicle 12. By way ofnon-limiting example, location information may include globalpositioning system (GPS) information. Operation by other components ofsystem 10 may be based, at least in part, on information obtained and/ordetermined by location component 26. For example, detection of vehicleevents may be affected based on proximity and/or orientation to objectsnear vehicle 12, geo-fence around vehicle 12, and/or other conditionsrelated to vehicle 12.

In some implementations, system 10 may include a user interfaceconfigured to provide an interface between system 10 and users throughwhich the users may provide information to and receive information fromsystem 10. This enables information to be communicated between a userand one or more of processor 110, sensors 142, vehicle 12, and/or othercomponents of system 10. As an example, a dangerous driving maneuverand/or vehicle event may be displayed to the driver of vehicle 12 viathe user interface, e.g. as a notification.

Examples of interface devices suitable for inclusion in a user interfaceinclude a keypad, buttons, switches, a keyboard, knobs, levers, adisplay screen, a touch screen, speakers, a microphone, an indicatorlight, an audible alarm, a printer, a tactile feedback device, and/orother interface devices.

It is to be understood that other communication techniques, eitherhard-wired or wireless, are also contemplated by the present disclosureas a user interface. Information may be loaded into system 10 wirelesslyfrom a remote location, from removable storage (e.g., a smart card, aflash drive, a removable disk, etc.), and/or other sources that enablethe user(s) to customize the implementation of system 10. Otherexemplary input devices and techniques adapted for use with system 10include, but are not limited to, an RS-232 port, RF link, an IR link,modem (telephone, cable, and/or other modems), a cellular network, aWi-Fi network, a local area network, and/or other devices and/orsystems. In short, any technique for communicating information withsystem 10 is contemplated by the present disclosure as a user interface.

Electronic storage 60 may comprise electronic storage media thatelectronically stores information. The electronic storage media ofelectronic storage 60 may comprise one or both of system storage that isprovided integrally (i.e., substantially non-removable) with system 10and/or removable storage that is removably connectable to system 10 via,for example, a port (e.g., a USB port, a firewire port, etc.) or a drive(e.g., a disk drive, etc.). Electronic storage 60 may comprise one ormore of optically readable storage media (e.g., optical disks, etc.),magnetically readable storage media (e.g., magnetic tape, magnetic harddrive, floppy drive, etc.), electrical charge-based storage media (e.g.,EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.),and/or other electronically readable storage media. Electronic storage60 may store software algorithms, recorded video event data, informationdetermined by processor 110, information received via a user interface,and/or other information that enables system 10 to function properly.Electronic storage 60 may be (in whole or in part) a separate componentwithin system 10, or electronic storage 60 may be provided (in whole orin part) integrally with one or more other components of system 10.

In some implementations, a remote server may include communicationlines, or ports to enable the exchange of information with a network,processor 110 of system 10, and/or other computing platforms. The remoteserver may include a plurality of processors, electronic storage,hardware, software, and/or firmware components operating together toprovide the functionality attributed herein to a remote device. Forexample, the server may be implemented by a cloud of computing platformsoperating together as a system server.

As described above, processor 110 may be configured to provideinformation processing capabilities in system 10. As such, processor 110may comprise one or more of a digital processor, an analog processor, adigital circuit designed to process information, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information. Although processor110 is shown in FIG. 1 as a single entity, this is for illustrativepurposes only. In some implementations, processor 110 may comprise aplurality of processing units. These processing units may be physicallylocated within the same device (e.g., a vehicle event recorder), orprocessor 110 may represent processing functionality of a plurality ofdevices operating in coordination.

Processor 110 may be configured to execute components 21-26 by software;hardware; firmware; some combination of software, hardware, and/orfirmware; and/or other mechanisms for configuring processingcapabilities on processor 110. It should be appreciated that althoughcomponents 21-26 are illustrated in FIG. 1 as being co-located within asingle processing unit, in implementations in which processor 110comprises multiple processing units, one or more of components 21-26 maybe located remotely from the other components. The description of thefunctionality provided by the different components 21-26 describedherein is for illustrative purposes, and is not intended to be limiting,as any of components 21-26 may provide more or less functionality thanis described. For example, one or more of components 21-26 may beeliminated, and some or all of its functionality may be provided byother components 21-26. As another example, processor 110 may beconfigured to execute one or more additional components that may performsome or all of the functionality attributed below to one of components21-26.

FIG. 2 illustrates a method 200 to detect vehicle events. The operationsof method 200 presented below are intended to be illustrative. In someimplementations, method 200 may be accomplished with one or moreadditional operations not described, and/or without one or more of theoperations discussed. Additionally, the order in which the operations ofmethod 200 are illustrated (in FIG. 2) and described below is notintended to be limiting. In some implementations, two or more of theoperations may occur substantially simultaneously.

In some implementations, method 200 may be implemented in one or moreprocessing devices (e.g., a digital processor, an analog processor, adigital circuit designed to process information, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operations of method 200 in response to instructions storedelectronically on one or more electronic storage mediums. The one ormore processing devices may include one or more devices configuredthrough hardware, firmware, and/or software to be specifically designedfor execution of one or more of the operations of method 200.

Referring to FIG. 2 and method 200, at an operation 202, output signalsare generated conveying information related to one or more currentoperating conditions of the vehicle. The one or more sensors are carriedby the vehicle. In some embodiments, operation 202 is performed by asensor the same as or similar to sensor 142 (shown in FIG. 1 anddescribed herein).

At an operation 204, a current operating condition of the vehicle isdetermined based on the generated output signals. In some embodiments,operation 204 is performed by an operation component the same as orsimilar to operation component 21 (shown in FIG. 1 and describedherein).

At an operation 206, contextual information is received related to oneor more current environmental conditions near and/or around the vehicle.In some embodiments, operation 206 is performed by a context componentthe same as or similar to context component 22 (shown in FIG. 1 anddescribed herein).

At an operation 208, at the vehicle, a vehicle event is detected basedon the current operating condition of the vehicle and further based onthe received contextual information. A value of the current operatingcondition of the vehicle that effectuates detection of the vehicle eventvaries as a function of the received contextual information. In someembodiments, operation 208 is performed by a detection component thesame as or similar to detection component 23 (shown in FIG. 1 anddescribed herein).

Although the system(s) and/or method(s) of this disclosure have beendescribed in detail for the purpose of illustration based on what iscurrently considered to be the most practical and preferredimplementations, it is to be understood that such detail is solely forthat purpose and that the disclosure is not limited to the disclosedimplementations, but, on the contrary, is intended to covermodifications and equivalent arrangements that are within the spirit andscope of the appended claims. For example, it is to be understood thatthe present disclosure contemplates that, to the extent possible, one ormore features of any implementation can be combined with one or morefeatures of any other implementation.

1.-19. (canceled)
 20. A system configured to detect vehicle events, thesystem configured to couple with a vehicle, wherein the vehicle isconfigured to carry one or more sensors that generate output signalsconveying information related to one or more operating parameters of thevehicle, the system comprising: one or more processors configured to:determine a current operating parameter of the vehicle based on thegenerated output signals; receive contextual information related to twoor more current environmental conditions near and/or around the vehicle,wherein the two or more current environmental conditions include a firstenvironmental condition related to traffic, and a second environmentalcondition related to visibility; determine a first threshold value atwhich the current operating parameter of the vehicle effectuatesdetection of vehicle events, wherein the first threshold value variesbased on the first environmental condition; determine a second thresholdvalue for the first environmental condition, wherein the secondthreshold value varies based on the second environmental condition; atthe vehicle, detect a vehicle event based on: a first comparison of thecurrent operating parameter of the vehicle and the first thresholdvalue, and a second comparison of the first environmental condition witha second threshold value, and wherein the second threshold value variesbased on the second environmental condition; and create a vehicle eventrecord based on the detected vehicle event.
 21. The system of claim 20,further comprising electronic storage configured to store information,wherein the one or more processors are further configured to: store thevehicle event record in the electronic storage; and effectuatepresentation to a user of the system, via a user interface, of anotification based on the vehicle event record.
 22. The system of claim20, wherein at least some of the contextual information is received fromone or more sources external to the vehicle.
 23. The system of claim 20,wherein the one or more operating parameters of the vehicle includevehicle speed of the vehicle, and wherein the vehicle event includes aparticular driving maneuver.
 24. The system of claim 20, wherein thecurrent operating parameter of the vehicle includes at least one ofvehicle speed, an engine load, a throttle level, an acceleratorposition, an acceleration level of the vehicle, a change in vehicledirection, and multiple changes in vehicle direction.
 25. The system ofclaim 20, wherein the current operating parameter of the vehicle isvehicle speed, wherein the contextual information includes a likelihoodof traffic congestion near the vehicle, and wherein the vehicle event isrelated to unsafe vehicle speed.
 26. The system of claim 20, wherein thecurrent operating parameter of the vehicle is brake pressure, whereinthe contextual information includes a likelihood of road surface nearthe vehicle being wet and/or icy, and wherein the vehicle event isrelated to potential collision conditions.
 27. The system of claim 20,further including the one or more sensors, wherein the one or moresensors include a video camera, and wherein the one or more sensors areconfigured such that the information related to the one or moreoperating parameters of the vehicle includes video information.
 28. Thesystem of claim 20, wherein the one or more processors are furtherconfigured to determine and/or obtain geographical information of thevehicle, and wherein detection of the vehicle event is further based onthe geographical information of the vehicle.
 29. A system configured todetect vehicle events, the system configured to couple with a vehicle,the vehicle being configured to carry one or more sensors that generateoutput signals conveying information related to one or more operatingconditions of the vehicle, the system comprising: one or more processorsconfigured to: determine a first operating parameter and a secondoperating parameter of the vehicle based on the generated outputsignals, wherein the first operating parameter corresponds to a firstmoment in time, wherein the second operating parameter corresponds to asecond moment in time, and wherein the second moment in time issubsequent to the first moment in time; at the vehicle, analyze thefirst operating parameter and determine that no vehicle event hasoccurred that needs to be reported; receive contextual informationrelated to two or more current environmental conditions near and/oraround the vehicle, wherein the two or more current environmentalconditions include a first environmental condition related to trafficand a second environmental condition related to visibility; determine afirst threshold value at which the second operating parameter of thevehicle effectuates detection of vehicle events, wherein the firstthreshold value varies based on the first environmental condition;determine a second threshold value for the first environmentalcondition, wherein the second threshold value varies based on the secondenvironmental condition; at the vehicle, detect a vehicle event basedon: a first comparison of the second operating parameter of the vehicleand the first threshold value, and a second comparison of the firstenvironmental condition of the vehicle with the second threshold value;create a vehicle event record based on the detected vehicle event; storethe vehicle event record in the electronic storage; and effectuatepresentation to a user of the system, via a user interface, of anotification based on the vehicle event record.
 30. A method to detectvehicle events for a vehicle, the vehicle being configured to carry oneor more sensors that generate output signals conveying informationrelated to operating parameters of the vehicle, the method beingimplemented in a computer system that includes one or more sensors andone or more physical processors, the method comprising: receivingcontextual information related to two or more current environmentalconditions near and/or around the vehicle, wherein the two or morecurrent environmental conditions include a first environmental conditionrelated to traffic and a second environmental condition related tovisibility; determining a first threshold value at which the currentoperating parameter of the vehicle effectuates detection of vehicleevents, wherein the first threshold value varies based on the firstenvironmental condition; determining a second threshold value for thefirst environmental condition, wherein the second threshold value variesbased on the second environmental condition; detecting, at the vehicle,a vehicle event based on: a first comparison of the current operatingcondition of the vehicle and the first threshold value, and a secondcomparison of the first environmental condition with a second thresholdvalue; and creating a vehicle event record based on the detected vehicleevent.
 31. The method of claim 30, further comprising: storing thevehicle event record in electronic storage; and effectuatingpresentation to a user of the system, via a user interface, of anotification based on the vehicle event record
 32. The method of claim30, wherein at least some of the contextual information is received fromone or more sources external to the vehicle.
 33. The method of claim 30,wherein the one or more operating parameters of the vehicle includevehicle speed of the vehicle, and wherein the vehicle event includes aparticular driving maneuver.
 34. The method of claim 30, wherein thecurrent operating parameter of the vehicle includes at least one ofvehicle speed, an engine load, a throttle level, an acceleratorposition, an acceleration level of the vehicle, a change in vehicledirection, and multiple changes in vehicle direction.
 35. The method ofclaim 30, wherein the current operating parameter of the vehicle isvehicle speed, wherein the contextual information includes a likelihoodof traffic congestion near the vehicle, and wherein the vehicle event isrelated to unsafe vehicle speed.
 36. The method of claim 30, wherein thecurrent operating parameter of the vehicle is brake pressure, whereinthe contextual information includes a likelihood of road surface nearthe vehicle being wet and/or icy, and wherein the vehicle event isrelated to potential collision conditions.
 37. The method of claim 30,wherein the one or more sensors include a video camera, and wherein theinformation related to the one or more operating parameters of thevehicle includes video information.
 38. The method of claim 30, furthercomprising determining and/or obtaining geographical information of thevehicle, and wherein detecting the vehicle event is further based on thegeographical information of the vehicle.